#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXSIZE 100
typedef int ELETYPE;
typedef struct {
    ELETYPE data[MAXSIZE];
    int len;
    
}sqlist;

void init(sqlist *L){
    L->len=0;
}

int add(sqlist *L,ELETYPE e){
    if(L->len==MAXSIZE){
        printf("the table is full!\n");
        return 0;
    }
    L->data[L->len]=e;
    L->len++;
    return 1;
}

int delete(sqlist *L,int pos,ELETYPE *e){
    *e=L->data[pos-1];
    if(pos<L->len){
        for(int i=pos;i<L->len;++i){
            L->data[i-1]=L->data[i];
        }
    }
    L->len--;
    return 1;
}


int insert(sqlist *L,int pos,ELETYPE e){
    if(pos<=L->len){
        for(int i=L->len;i>=pos-1;--i){
            L->data[i+1]=L->data[i];
        }
        L->data[pos-1]=e;
        L->len++;
        return 1;
    }
    printf("index error!\n");
    return 0;
}

int find(sqlist *L,ELETYPE e){
    for(int i=0;i<=L->len;++i){
        if(L->data[i]==e){
            return i+1;
        }
    }
    return 0;
}

void print(sqlist *L){
    for(int i=0;i<L->len;++i){
        printf("%d ",L->data[i]);
    }
    printf("\n");
}


int main(){
    sqlist l;
    init(&l);
    add(&l,10);
    add(&l,20);
    add(&l,30);
    add(&l,40);
    add(&l,50);
    
    print(&l);
    insert(&l,2,100);
    print(&l);

    return 0;
}